<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>kroneck</title>
  </head>
  <body bgcolor="#FFFFFF">
    <center>Scilab Function</center>
    <div align="right">Last update : 20/12/2004</div>
    <p>
      <b>kroneck</b> -  Kronecker form of matrix pencil</p>
    <h3>
      <font color="blue">Calling Sequence</font>
    </h3>
    <dl>
      <dd>
        <tt>[Q,Z,Qd,Zd,numbeps,numbeta]=kroneck(F)  </tt>
      </dd>
      <dd>
        <tt>[Q,Z,Qd,Zd,numbeps,numbeta]=kroneck(E,A)  </tt>
      </dd>
    </dl>
    <h3>
      <font color="blue">Parameters</font>
    </h3>
    <ul>
      <li>
        <tt>
          <b>F</b>
        </tt>: real matrix pencil <tt>
          <b>F=s*E-A</b>
        </tt>
      </li>
      <li>
        <tt>
          <b>E,A</b>
        </tt>: two real matrices of same dimensions</li>
      <li>
        <tt>
          <b>Q,Z</b>
        </tt>: two square orthogonal matrices</li>
      <li>
        <tt>
          <b>Qd,Zd</b>
        </tt>: two vectors of integers</li>
      <li>
        <tt>
          <b>numbeps,numeta</b>
        </tt>: two vectors of integers</li>
    </ul>
    <h3>
      <font color="blue">Description</font>
    </h3>
    <p>
    Kronecker form of matrix pencil: <tt>
        <b>kroneck</b>
      </tt> computes two
    orthogonal matrices <tt>
        <b>Q, Z</b>
      </tt> which put the pencil <tt>
        <b>F=s*E -A</b>
      </tt> into
    upper-triangular form:</p>
    <pre>


           | sE(eps)-A(eps) |        X       |      X     |      X        |
           |----------------|----------------|------------|---------------|
           |        O       | sE(inf)-A(inf) |      X     |      X        |
Q(sE-A)Z = |---------------------------------|----------------------------|
           |                |                |            |               |
           |        0       |       0        | sE(f)-A(f) |      X        |
           |--------------------------------------------------------------|
           |                |                |            |               |
           |        0       |       0        |      0     | sE(eta)-A(eta)|

   
    </pre>
    <p>
    The dimensions of the four blocks are given by:</p>
    <p>
      <tt>
        <b>eps=Qd(1) x Zd(1)</b>
      </tt>, <tt>
        <b>inf=Qd(2) x Zd(2)</b>
      </tt>,
    <tt>
        <b>f = Qd(3) x Zd(3)</b>
      </tt>, <tt>
        <b>eta=Qd(4)xZd(4)</b>
      </tt>
    </p>
    <p>
    The <tt>
        <b>inf</b>
      </tt> block contains the infinite modes of
    the pencil.</p>
    <p>
    The <tt>
        <b>f</b>
      </tt> block contains the finite modes of
    the pencil</p>
    <p>
    The structure of epsilon and eta blocks are given by:</p>
    <p>
      <tt>
        <b>numbeps(1)</b>
      </tt> = <tt>
        <b>#</b>
      </tt> of eps blocks of size 0 x 1</p>
    <p>
      <tt>
        <b>numbeps(2)</b>
      </tt> = <tt>
        <b>#</b>
      </tt> of eps blocks of size 1 x 2</p>
    <p>
      <tt>
        <b>numbeps(3)</b>
      </tt> = <tt>
        <b>#</b>
      </tt> of eps blocks of size 2 x 3     etc...</p>
    <p>
      <tt>
        <b>numbeta(1)</b>
      </tt> = <tt>
        <b>#</b>
      </tt> of eta blocks of size 1 x 0</p>
    <p>
      <tt>
        <b>numbeta(2)</b>
      </tt> = <tt>
        <b>#</b>
      </tt> of eta blocks of size 2 x 1</p>
    <p>
      <tt>
        <b>numbeta(3)</b>
      </tt> = <tt>
        <b>#</b>
      </tt> of eta blocks of size 3 x 2     etc...</p>
    <p>
    The code is taken from T. Beelen (Slicot-WGS group).</p>
    <h3>
      <font color="blue">Examples</font>
    </h3>
    <pre>

F=randpencil([1,1,2],[2,3],[-1,3,1],[0,3]);
Q=rand(17,17);Z=rand(18,18);F=Q*F*Z;
//random pencil with eps1=1,eps2=1,eps3=1; 2 J-blocks @ infty 
//with dimensions 2 and 3
//3 finite eigenvalues at -1,3,1 and eta1=0,eta2=3
[Q,Z,Qd,Zd,numbeps,numbeta]=kroneck(F);
[Qd(1),Zd(1)]    //eps. part is sum(epsi) x (sum(epsi) + number of epsi) 
[Qd(2),Zd(2)]    //infinity part
[Qd(3),Zd(3)]    //finite part
[Qd(4),Zd(4)]    //eta part is (sum(etai) + number(eta1)) x sum(etai)
numbeps
numbeta
 
  </pre>
    <h3>
      <font color="blue">See Also</font>
    </h3>
    <p>
      <a href="gschur.htm">
        <tt>
          <b>gschur</b>
        </tt>
      </a>,&nbsp;&nbsp;<a href="gspec.htm">
        <tt>
          <b>gspec</b>
        </tt>
      </a>,&nbsp;&nbsp;<a href="../polynomials/systmat.htm">
        <tt>
          <b>systmat</b>
        </tt>
      </a>,&nbsp;&nbsp;<a href="pencan.htm">
        <tt>
          <b>pencan</b>
        </tt>
      </a>,&nbsp;&nbsp;<a href="randpencil.htm">
        <tt>
          <b>randpencil</b>
        </tt>
      </a>,&nbsp;&nbsp;<a href="../control/trzeros.htm">
        <tt>
          <b>trzeros</b>
        </tt>
      </a>,&nbsp;&nbsp;</p>
  </body>
</html>
